package com.ztgf.order.models.service.common;

import com.ztgf.common.constant.Result;
import com.ztgf.order.models.bo.pay.PayOrderSaveBO;
import com.ztgf.order.models.dto.OrderReturnCommodityDTO;
import com.ztgf.order.models.dto.pay.PayOrderLogDTO;
import com.ztgf.order.models.vo.pay.PayOrderVO;
import com.ztgf.pay.models.dto.PayOrderDTO;

/**
 * @Description:
 * @Author: mxli
 * @Date: 2021-08-06 10:42
 **/
public interface ICommonService {

    /**
     * 订单签收
     * @param orderId
     * @param isCheckToken
     * @return
     */
    Result saveReceive(Long orderId, boolean isCheckToken);

    /**
     * 订单签收
     * @param orderId
     * @param isCheckToken 是否效验token
     * @param isFinish 有未完成的售后订单是否抛异常
     * @return
     */
    Result saveReceive(Long orderId, boolean isCheckToken, boolean isFinish);

    /**
     * 订单签收金额操作
     * @param bo
     * @param payOrderVO
     * @param userId
     * @param userName
     */
    void saveReceiveMoney(PayOrderSaveBO bo, PayOrderVO payOrderVO, Long userId, String userName);

    /**
     * 卖家合同签订成功
     * @param orderId
     * @return
     */
    Result saveSellContactSuccess(Long orderId);

    /**
     * 售后订单签收
     * @return
     */
    Result saveReturnReceive(OrderReturnCommodityDTO dto);


    /**
     * 订单支付
     * @param orderDTO
     * @param logDTO
     */
    void saveOrder(PayOrderDTO orderDTO, PayOrderLogDTO logDTO);
}
